// app.js
App({
  globalData: {
    // 后端服务配置
    baseUrl: 'http://10.108.164.38:8899',
    
    // 当前用户信息
    currentUser: {
      userNum: null, // 用户编号，需要从登录接口获取
      isLogin: false,
      userInfo: null,
      sessionKey: null
    },
    
    // 应用状态
    appState: {
      todayFlowerSent: false, // 今日是否已送花
      selectedTab: 'verified' // 首页选中的tab: verified | unverified
    },
    
    // 常量定义
    constants: {
      // 性别选项
      genders: ['男', '女'],
      
      // 婚姻状况
      maritalStatus: ['未婚', '离异', '丧偶'],
      
      // 学历选项
      educations: ['小学', '初中', '高中', '中专', '职高', '技校', '大专', '本科', '硕士', '博士', '博士后'],
      
      // 职业选项
      occupations: ['公务员', '教师', '医生', '护士', '律师', '法官', '警察', '自由职业者', '经商'],
      
      // 籍贯选项（省市区三级）
      hometowns: [
        { province: '安徽省', city: '宣城市', district: '广德市', fullName: '广德市' }
      ],
      
      // 现居地选项（省市区三级）
      residences: [
        { province: '安徽省', city: '宣城市', district: '广德市', fullName: '广德市' },
        { province: '上海市', city: '上海市', district: '上海市', fullName: '上海市' },
        { province: '浙江省', city: '湖州市', district: '湖州市', fullName: '湖州市' },
        { province: '江苏省', city: '苏州市', district: '苏州市', fullName: '苏州市' },
        { province: '江苏省', city: '南京市', district: '南京市', fullName: '南京市' }
      ],
      
      // 车子状态
      carStatus: ['全款', '按揭', '无', '随时买'],
      
      // 房子状态
      houseStatus: ['城区全款房', '城区按揭房', '乡镇房', '随时买']
    }
  },

  onLaunch() {
    console.log('小程序启动');
    this.checkLoginStatus();
  },

  onShow() {
    console.log('小程序显示');
  },

  onHide() {
    console.log('小程序隐藏');
  },

  onError(msg) {
    console.error('小程序发生错误:', msg);
  },

  // 检查登录状态
  checkLoginStatus() {
    const that = this;
    wx.checkSession({
      success() {
        console.log('session有效');
        that.globalData.currentUser.isLogin = true;
      },
      fail() {
        console.log('session无效，需要重新登录');
        that.globalData.currentUser.isLogin = false;
        that.globalData.currentUser.sessionKey = null;
      }
    });
  },

  // 用户登录
  login() {
    const that = this;
    return new Promise((resolve, reject) => {
      wx.login({
        success(res) {
          if (res.code) {
            console.log('登录成功，code:', res.code);
            that.globalData.currentUser.isLogin = true;
            resolve(res.code);
          } else {
            console.error('登录失败:', res.errMsg);
            reject(res.errMsg);
          }
        },
        fail(err) {
          console.error('登录失败:', err);
          reject(err);
        }
      });
    });
  },

  // 获取用户手机号
  getPhoneNumber() {
    const that = this;
    return new Promise((resolve, reject) => {
      wx.getUserPhoneNumber({
        success(res) {
          console.log('获取手机号成功:', res);
          resolve(res);
        },
        fail(err) {
          console.error('获取手机号失败:', err);
          reject(err);
        }
      });
    });
  }
});